POV-Ray : Newsgroups : povray.general : Calling external Math functions from .dll or .so : Re: Calling external Math functions from .dll or .so Server Time
2 Aug 2024 08:12:51 EDT (-0400)
  Re: Calling external Math functions from .dll or .so  
From: Warp
Date: 15 Feb 2005 11:06:54
Message: <42121e1e@news.povray.org>
Rafal 'Raf256' Maj <spa### [at] raf256com> wrote:
> Plugins
> - non-portable binary : solution distribute their code (some better SDL) 
> and _optionaly_ compile it to have speedup
> - some possible exploits and so on - give option in povray.ini to dissallow 
> any use of pre-compiled plugins
> - will not work on some platforms - give option to only interprete the 
> shader, not compile it all, even in parsing stage

  I wonder if you understand what a plugin is.

  What you are describing above is basically just the same thing as the
#include files of the current SDL being distributed out there are
(except for support for compilation to bytecode, which in itself has
nothing to do with plugins).
  What you are describing above is basically a library written in the
same scripting language as the native POV-Ray scripting language.

  While one could argue that's also a "plugin", it's not the same thing
as the dll plugins in most windows software.
  A dll plugin would be written in C++ (or C) and would need to be
compiled with a C++ compiler. POV-Ray itself couldn't compile these
plugins unless it had a full-fledged C++ compiler inside it (which
doesn't make sense, of course). In fact, it doesn't really matter
which language the plugin is originally written in, what matters is
the end result: A dll containing native machine code with a certain
structure.

  While one could call an #include file a "plugin", I would call it
a library, not a plugin. Even if a future version of POV-Ray with a
much more elaborated and powerful scripting language (supporting eg.

not plugins (in the same sense as dll plugins are).

  The correct solution is to create a scripting language for POV-Ray
as its main SDL which allows making the things which are not currently
possible. Requiring users to know C++ and have a C++ compiler in order
to create platform-specific dlls is not the answer.

-- 
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}//  - Warp -


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.